Current state of the art mobile communication technologies (e.g., cellular phones) employ complex computational algorithms to decode digital data which is transmitted as M-ary modulated digital data. Signal processing devices in mobile devices must decode the data in real time. Further, the signal processing devices typically operate using battery power. Thus, the computational capacity of the signal processing devices within the receiver is limited. Accordingly, it is necessary to simplify the computations while still maintaining the robust characteristics of the decoding algorithms.
In wireless communications systems, the VA and DFE are common techniques used as equalizer in the receiver. The VA is the optimum approach and at the same time, its computational complexity and memory requirements is proportional exponentially to the length of the channel impulse response. This is sometimes impossible for systems either because the channel impulse response is very long or there are power limitations and it is not possible to have large size of memory. On the other hand, the DFE has minimum requirements in terms of the memory and computational complexity, but its performance is not as well as the VA. The PML algorithm is sub optimal and there is a trade-off between complexity and the performance. The new set partitioning technique allows the designer to have more flexibility in terms of the trade-off for M-ary signal set systems.
One optimal solution to decode the data symbols is the use of the Viterbi algorithm (VA). However, the computational complexity of the Viterbi algorithm increases exponentially with the length of the channel impulse response (CIR). This is obviously not practical to implement for channels with long impulse responses. Another solution is the use of a decision feedback equalizer (DFE) which is computationally less demanding than the Viterbi algorithm. However, where the system experiences multi-path fading, the performance of this equalizer may not be acceptable. Accordingly, a new approach is required which has capable performance and manageable computational complexity.